package com.cloudminga.gui;

import com.globussoft.xml.SettingsXml;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Toolkit;
import java.io.File;
import java.util.logging.Logger;
import javax.swing.JCheckBox;
import javax.swing.SwingUtilities;
import javax.swing.UIManager;
import javax.swing.table.DefaultTableModel;
import java.lang.Object.*;
import java.text.DecimalFormat;
import java.util.HashMap;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JTable;
import com.globussoft.xml.CreatXMLFile;
import java.util.logging.Level;

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/*
 * Gui_3.java
 *
 * Created on Dec 17, 2009, 12:11:42 PM
 */
/**
 *
 * @author jyoti
 */
public class Config_3_backup extends javax.swing.JDialog {

    /** Creates new form Gui_3 */
    //variable declaration for backup process
    // long initFilesForSpeed=0;
    //  String initSizeForSpeed=null;
    long totalFilesCount = 0;
    int totalFile = 0;
    long filesize = 0;
    long updateTotalFile = 0;
    long foldersize = 0;
    public static long usedSize = 0;
    double quota;
    double quotaPercent = 0.0;
    DefaultTableModel model;
    JCheckBox checkbox;
    String source = System.getProperty("user.home");
    File[] Files = new File(source).listFiles();
    String[][] tableModelArray = new String[Files.length][4];
    private String projectName = "";

    public Config_3_backup(java.awt.Frame parent, boolean modal) {
        super(parent, modal);
        initComponents();
        projectName = SettingsXml.getProjectName();
        this.setTitle("Welcome to " + projectName + " Backup Wizard Configuration");
        Dimension dimension = new Dimension(600, 500);
        setSize(600, 500);
        Toolkit toolkit = Toolkit.getDefaultToolkit();
        int x = (toolkit.getScreenSize().width - getWidth()) / 2;
        int y = (toolkit.getScreenSize().height - getHeight()) / 2;
        setResizable(true);
        setLocation(x, y);
        backupsetProcess();

    }


    /*Code to display values into backup set table */
    public void backupsetProcess() {
        totalFilesCount = 0;
        usedSize = 0;

        new Thread() {

            public void run() {
                /* Setting the Backup Table Size According to Columns  */
                backupSetTable.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
                backupSetTable.getColumnModel().getColumn(0).setPreferredWidth(25);
                backupSetTable.getColumnModel().getColumn(1).setPreferredWidth(200);
                backupSetTable.getColumnModel().getColumn(2).setPreferredWidth(125);
                backupSetTable.getColumnModel().getColumn(3).setPreferredWidth(125);

                // setDefaultCloseOperation(javax.swing.WindowConstants.DO_NOTHING_ON_CLOSE);
                // String[] Files = new File(source).list();
                try {

                    for (int i = 0; i < Files.length; i++) {

                        String size = null;
                        filesize = 0;
                        totalFile = 0;
                        filesize = getFileSize(Files[i]);
//                      totalFilesCount = totalFilesCount + totalFile;
//                      usedSize = usedSize + filesize;
                        size = getSizeFormat(filesize);
                        Object[] obj = {new Boolean(false), Files[i].getName(), totalFile, size};
                        model = (DefaultTableModel) backupSetTable.getModel();
                        model.addRow(obj);//adding the filedata in  a fileTable row
                        tableModelArray[i][0] = "false";
                        tableModelArray[i][1] = Files[i].getName();
                        tableModelArray[i][2] = "" + totalFile;
                        tableModelArray[i][3] = "" + filesize;
                        //  System.out.println("Filesize "+tableModelArray[i][3]);
                    }

                } catch (Exception ex) {
                    Logger.getLogger("Exception from config" + ex);
                    ex.printStackTrace();
                }
            }
        }.start();

        /* Setting Quota Default size as 2.0 GB */
        SettingsXml setting = new SettingsXml();
        // setting.setQuota(2.0);
        quota = setting.getQuota();
        //   System.out.println("Quota "+quota);

        /* Code to Display values to the Form */
        displayValues(totalFilesCount, usedSize, quota);


        try {
            /* code to set the look and feel according to the native operating system */
            UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
            SwingUtilities.updateComponentTreeUI(this);
        } catch (Exception e) {
            Logger.getLogger("Problem in setting look and feel");
        }
        String s = "<html>" + "<body>" + "<font size=3 color=blue>" + projectName + " has scaned your computer, and pre-selected some recomended item to" + "<br>" + "backup. You can select more later." + "</body>" + "</html> ";
        label_scan.setText(s);
    }

    /* Displaying Values to The Form  */
    public void displayValues(long totalFilesCounts, long usedSizes, Double quotas) {



        String remainSize;
        quotaPercent = 0.0;
        DecimalFormat df = new DecimalFormat("#.##");//To display values upto 2 decimal point
        //initFilesForSpeed=totalFilesCounts;
        String sizeUsing = getSizeFormat(usedSizes);
        //initSizeForSpeed=sizeUsing;
        SettingsXml setting = new SettingsXml();
        setting.setInitFiles(totalFilesCounts);
        setting.setInitSize(sizeUsing);
        setting.setSizeSpeed(usedSizes);


        // System.out.println("used size "+usedSizes);
        this.totalFiles.setText(Long.toString(totalFilesCounts));
        this.label_used.setText(sizeUsing);
        this.label_quota.setText(Double.toString(quotas) + " GB");
        remainSize = getRemainingSize(quotas, usedSizes);
        this.label_remaining.setText(remainSize);
        quotaPercent = getPercentQuota(quotas, usedSizes); // To get the percent of checked files in alloted Quota
        this.quotaUsedProgressBar.setValue((int) quotaPercent);
        // Logger.getLogger("Quota used in percentage "+df.format(quotaPercent));
        this.percentLabel.setText(df.format(quotaPercent));
    }

    /* Getting  the size of folder and No.of files on that folder */
    public long getFileSize(File folder) {
        foldersize = 0;
        updateTotalFile = 0;
        if (folder.isDirectory()) {

            File[] filelist = folder.listFiles();
            if (filelist != null) {
                for (int i = 0; i < filelist.length; i++) {

                    if (filelist[i].isDirectory()) {
                        foldersize += getFileSize(filelist[i]);
                    } else {
                        totalFile++;
                        updateTotalFile++;
                        foldersize += filelist[i].length();
                    }
                }
            }
        } else {
            totalFile++;
            updateTotalFile++;
            foldersize = foldersize + folder.length();
        }
        return foldersize;
    }

    public String getRemainingSize(Double quotaSize, long usedSizeVar) {
        long quotaGiven, remainSize;
        quotaGiven = quotaSize.longValue();
        quotaGiven = quotaGiven * 1024 * 1024 * 1024;
        if (usedSizeVar >= quotaGiven) {
            remainSize = 0;
        } else {
            remainSize = quotaGiven - usedSizeVar;
        }
        String retRemainSize = getSizeFormat(remainSize);
        return retRemainSize;

    }

    public double getPercentQuota(Double quotaSize, long usedSizeVar) {

        quotaSize = quotaSize * 1024 * 1024;
        usedSizeVar = usedSizeVar / (1024);
        double dUsedSize = usedSizeVar;
        double dPercent = (dUsedSize / quotaSize) * 100;
        //  double quotaPercent=0.0;
        //  quotaPercent=dPercent;
        //  long quotaGiven=quotaSize.longValue();
        //  int quotaPercent=0;

        //   String ss=getSizeFormat(usedSizeVar);
        //   Double dd=Double.parseDouble(ss);

        //   quotaGiven=quotaGiven*1024*1024*1024;
        //   System.out.println("usedSize"+usedSizeVar);
        //   System.out.println("QuotaSize"+quotaGiven);
        //   quotaPercent=(int)(dd/quotaSize)*100;
        //   quotaPercent=(int)(usedSizeVar/quotaGiven)*100;
        if (dUsedSize > quotaSize) {
            percentLabel.setForeground(Color.RED);
            percentQuota.setForeground(Color.RED);

        } else {
            percentLabel.setForeground(Color.BLACK);
            percentQuota.setForeground(Color.BLACK);
        }
        //   System.out.println("quotaPercent "+dPercent);
        return dPercent;
    }

    public String getSizeFormat(long filesizes) {

        DecimalFormat dfs = new DecimalFormat("#.##");//To display values upto 2 decimal point
        String sizes = null;

        double tempSize = 0.0;
        if (filesizes < 1024) {
            sizes = String.valueOf(filesizes) + "" + " bytes";
        } else if (filesizes >= 1024 && filesizes < (1024 * 1024)) {
            tempSize = filesizes;
            sizes = String.valueOf(dfs.format(tempSize / 1024)) + " " + "KB";

        } else if (filesizes >= (1024 * 1024) && filesizes < (1024 * 1024 * 1024)) {
            tempSize = filesizes / 1024;
            sizes = String.valueOf(dfs.format(tempSize / (1024))) + " " + "MB";

        } else if (filesizes >= (1024 * 1024 * 1024)) {

            tempSize = filesizes / (1024 * 1024);
            sizes = String.valueOf(dfs.format(tempSize / (1024))) + " " + "GB";
        }
        return sizes;

        //       return String.valueOf(filesizes);
    }

    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        nextSetButton = new javax.swing.JButton();
        cancelSetButton = new javax.swing.JButton();
        backSetButton = new javax.swing.JButton();
        quotaLabel = new javax.swing.JLabel();
        usedLabel = new javax.swing.JLabel();
        remainngLabel = new javax.swing.JLabel();
        filesLabel = new javax.swing.JLabel();
        label_quota = new javax.swing.JLabel();
        label_used = new javax.swing.JLabel();
        label_remaining = new javax.swing.JLabel();
        totalFiles = new javax.swing.JLabel();
        percentQuota = new javax.swing.JLabel();
        jPanel1 = new javax.swing.JPanel();
        label_logo = new javax.swing.JLabel();
        jLabel8 = new javax.swing.JLabel();
        label_scan = new javax.swing.JLabel();
        backupSetPanel = new javax.swing.JScrollPane();
        backupSetTable = new javax.swing.JTable();
        increaseQuotaBt = new javax.swing.JButton();
        quotaUsedProgressBar = new javax.swing.JProgressBar();
        percentLabel = new javax.swing.JLabel();

        setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
        setTitle("");
        setName("configBackupSet"); // NOI18N
        setResizable(false);
        getContentPane().setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());

        nextSetButton.setText("Next ");
        nextSetButton.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                nextSetButtonActionPerformed(evt);
            }
        });
        getContentPane().add(nextSetButton, new org.netbeans.lib.awtextra.AbsoluteConstraints(410, 410, -1, -1));

        cancelSetButton.setText("Cancel");
        cancelSetButton.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                cancelSetButtonActionPerformed(evt);
            }
        });
        getContentPane().add(cancelSetButton, new org.netbeans.lib.awtextra.AbsoluteConstraints(500, 410, -1, -1));

        backSetButton.setText("Back");
        backSetButton.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                backSetButtonActionPerformed(evt);
            }
        });
        getContentPane().add(backSetButton, new org.netbeans.lib.awtextra.AbsoluteConstraints(310, 410, -1, -1));

        quotaLabel.setText("Quota: ");
        getContentPane().add(quotaLabel, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 320, 40, -1));

        usedLabel.setText("Used:");
        getContentPane().add(usedLabel, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 340, -1, -1));

        remainngLabel.setText("Remaining: ");
        getContentPane().add(remainngLabel, new org.netbeans.lib.awtextra.AbsoluteConstraints(230, 320, 70, -1));

        filesLabel.setText("Files:");
        getContentPane().add(filesLabel, new org.netbeans.lib.awtextra.AbsoluteConstraints(230, 340, 50, -1));

        label_quota.setText("Quota");
        getContentPane().add(label_quota, new org.netbeans.lib.awtextra.AbsoluteConstraints(70, 320, 50, -1));

        label_used.setText("used");
        getContentPane().add(label_used, new org.netbeans.lib.awtextra.AbsoluteConstraints(70, 340, 80, -1));

        label_remaining.setText("remaining");
        getContentPane().add(label_remaining, new org.netbeans.lib.awtextra.AbsoluteConstraints(300, 320, 70, -1));

        totalFiles.setText("totalFiles");
        getContentPane().add(totalFiles, new org.netbeans.lib.awtextra.AbsoluteConstraints(300, 340, 50, -1));

        percentQuota.setText("% of Quota used..");
        getContentPane().add(percentQuota, new org.netbeans.lib.awtextra.AbsoluteConstraints(310, 390, 120, -1));

        jPanel1.setBackground(new java.awt.Color(204, 204, 204));
        jPanel1.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());

        label_logo.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/logo_2.png"))); // NOI18N
        jPanel1.add(label_logo, new org.netbeans.lib.awtextra.AbsoluteConstraints(530, 10, 50, -1));

        jLabel8.setFont(new java.awt.Font("Arial", 0, 18));
        jLabel8.setForeground(new java.awt.Color(51, 51, 255));
        jLabel8.setText("Backup Sets");
        jPanel1.add(jLabel8, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 10, 140, -1));

        label_scan.setText("Label_scan");
        jPanel1.add(label_scan, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 30, 470, 30));

        getContentPane().add(jPanel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 610, 70));

        backupSetTable.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {

            },
            new String [] {
                "", "Backup Sets", "Files", "Size"
            }
        ) {
            Class[] types = new Class [] {
                java.lang.Boolean.class, java.lang.Object.class, java.lang.Object.class, java.lang.Object.class
            };
            boolean[] canEdit = new boolean [] {
                true, false, false, false
            };

            public Class getColumnClass(int columnIndex) {
                return types [columnIndex];
            }

            public boolean isCellEditable(int rowIndex, int columnIndex) {
                return canEdit [columnIndex];
            }
        });
        backupSetTable.setAutoResizeMode(javax.swing.JTable.AUTO_RESIZE_OFF);
        backupSetTable.setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION);
        backupSetTable.setShowHorizontalLines(false);
        backupSetTable.setShowVerticalLines(false);
        backupSetTable.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                backupSetTableMouseClicked(evt);
            }
            public void mouseExited(java.awt.event.MouseEvent evt) {
                backupSetTableMouseExited(evt);
            }
            public void mouseReleased(java.awt.event.MouseEvent evt) {
                backupSetTableMouseReleased(evt);
            }
        });
        backupSetPanel.setViewportView(backupSetTable);

        getContentPane().add(backupSetPanel, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 80, 460, 230));

        increaseQuotaBt.setText("Increase Quota");
        getContentPane().add(increaseQuotaBt, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 370, -1, -1));
        getContentPane().add(quotaUsedProgressBar, new org.netbeans.lib.awtextra.AbsoluteConstraints(150, 370, 430, -1));

        percentLabel.setText("Per");
        getContentPane().add(percentLabel, new org.netbeans.lib.awtextra.AbsoluteConstraints(270, 390, 40, -1));

        pack();
    }// </editor-fold>//GEN-END:initComponents

    private void nextSetButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_nextSetButtonActionPerformed
        // TODO add your handling code here:

        if (quotaPercent > 100) {
            JFrame frame;
            frame = new JFrame("Show Message Dialog");

            JOptionPane.showMessageDialog(frame,
                    "The total size of the selected files \n" + "exceeds your storage quota.",
                    "Over Quota", JOptionPane.WARNING_MESSAGE);
        } else {
            //  this.dispose();


            new Thread() {

                @Override
                public void run() {
                    int row = model.getRowCount();
                    HashMap map = new HashMap();
                    for (int i = 0; i < row; i++) {
                        if (model.getValueAt(i, 0).toString().equals("true")) {
                            getFileName(System.getProperty("user.home") + "\\" + model.getValueAt(i, 1).toString(), map);
                        }
                    }
                    System.out.println(map.size());
                    CreatXMLFile xmlFile = new CreatXMLFile();
                    xmlFile.writeXmlFile(System.getProperty("user.home") + "/" + projectName + "/BackUpSet.xml", map);
                }
            }.start();


            this.setVisible(false);
            new Config_4_testresult(new javax.swing.JFrame(), true, this).setVisible(true);
        }
}//GEN-LAST:event_nextSetButtonActionPerformed
    public void getFileName(String dirName, HashMap fileNames) {
        File file = new File("");
        File[] fileArr = new File[1];
        int i = 0;
        try {
            file = new File(dirName);
            fileArr = file.listFiles();
            if (fileArr != null) {
                int len = fileArr.length;
                for (i = 0; i < len; i++) {
                    if (fileArr[i].isFile()) {
                        fileNames.put(fileArr[i].getAbsolutePath(), false);
                    } else {
                        getFileName(fileArr[i].getAbsolutePath(), fileNames);
                    }
                }
            } else if (file.isFile()) {
                fileNames.put(dirName, false);
            }
        } catch (Exception ex) {
            ex.printStackTrace();
            if (file.isFile()) {
                fileNames.put(file.getAbsolutePath(), false);
            }
        }
    }

    private void backSetButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_backSetButtonActionPerformed
        // TODO add your handling code here:

        //  new Config_2_setting(new javax.swing.JFrame(), true).setVisible(true);
        Config_2_setting encryptObj = new Config_2_setting(new javax.swing.JFrame(), true);
        if (Config_2_setting.encryptpersonbit == true) {
            // System.out.println("256 button true");
            encryptObj.RadioButton_256bit.setSelected(true);
            encryptObj.RadioButton_448bit.setSelected(false);
            Config_2_setting.encryptpombit = false;
            Config_2_setting.encryptpersonbit = false;

        } else if (Config_2_setting.encryptpombit == true) {
            //System.out.println("448 button true");
            encryptObj.RadioButton_256bit.setSelected(false);
            encryptObj.RadioButton_448bit.setSelected(true);
            Config_2_setting.encryptpombit = false;
            Config_2_setting.encryptpersonbit = false;
        }

        this.dispose();
        encryptObj.setVisible(true);
}//GEN-LAST:event_backSetButtonActionPerformed

    private void cancelSetButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cancelSetButtonActionPerformed
              this.dispose();
    }//GEN-LAST:event_cancelSetButtonActionPerformed

    private void backupSetTableMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_backupSetTableMouseClicked
        try {
            // TODO add your handling code here:
            // JTable table = new JTable(model);
            Thread.sleep(100);
        } catch (InterruptedException ex) {
            Logger.getLogger(Config_3_backup.class.getName()).log(Level.SEVERE, null, ex);
        }
        //  System.out.println(backupSetTable.getSelectedRow());


        new Thread() {

            public void run() {
                checkAndUncheckedFiles();
            }
        }.start();

    }//GEN-LAST:event_backupSetTableMouseClicked

    private void backupSetTableMouseReleased(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_backupSetTableMouseReleased
        // TODO add your handling code here:
        for (int j = 0; j < Files.length; j++) {
            if (tableModelArray[j][0] != null) {
                model.setValueAt(Boolean.parseBoolean(tableModelArray[j][0]), j, 0);
            }
        }
    }//GEN-LAST:event_backupSetTableMouseReleased

    private void backupSetTableMouseExited(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_backupSetTableMouseExited
        // TODO add your handling code here:
    }//GEN-LAST:event_backupSetTableMouseExited
    /**
     * @param args the command line arguments
     */
    public void checkAndUncheckedFiles() {
        synchronized (this) {
            int selectRow = backupSetTable.getSelectedRow();
            int selectCol = backupSetTable.getSelectedColumn();
            // System.out.println("Selected Column "+backupSetTable.getSelectedColumn());
            // System.out.println(backupSetTable.getValueAt(selectRow,0));

            if (selectCol == 0) {
                boolean bb = false;
                SettingsXml setting = new SettingsXml();
                // setting.setQuota(2.0);
                quota = setting.getQuota();
                totalFilesCount = 0;
                usedSize = 0;
                if ((backupSetTable.getValueAt(selectRow, 0)).equals(bb)) {

                    tableModelArray[selectRow][0] = "false";
                    for (int j = 0; j < Files.length; j++) {
                        if (tableModelArray[j][0] != null) {
                            if ((tableModelArray[j][0]).equalsIgnoreCase("true")) {
                                totalFilesCount = totalFilesCount + Long.parseLong(tableModelArray[j][2]);
                                usedSize = usedSize + Long.parseLong(tableModelArray[j][3]);
                                model.setValueAt(true, j, 0);
                            } else {
                                tableModelArray[j][0] = "false";
                                model.setValueAt(false, j, 0);
                            }
                        }

                    }

                    filesize = 0;
                    filesize = Long.parseLong(tableModelArray[selectRow][3]);
                    updateTotalFile = Long.parseLong(tableModelArray[selectRow][2]);
                    //  filesize = getFileSize(Files[selectRow]);
                    //   usedSize = usedSize - filesize;
                    //   totalFilesCount = totalFilesCount - updateTotalFile;
                    displayValues(totalFilesCount, usedSize, quota);


                } else {

                    tableModelArray[selectRow][0] = "true";
                    for (int j = 0; j < Files.length; j++) {
                        if (tableModelArray[j][0] != null) {
                            if ((tableModelArray[j][0]).equalsIgnoreCase("true")) {
                                totalFilesCount = totalFilesCount + Long.parseLong(tableModelArray[j][2]);
                                usedSize = usedSize + Long.parseLong(tableModelArray[j][3]);
                                model.setValueAt(true, j, 0);
                            } else {
                                tableModelArray[j][0] = "false";
                                model.setValueAt(false, j, 0);
                            }
                        }

                    }

                    filesize = 0;
                    filesize = Long.parseLong(tableModelArray[selectRow][3]);
                    updateTotalFile = Long.parseLong(tableModelArray[selectRow][2]);
                    //  filesize = getFileSize(Files[selectRow]);
                    //   usedSize = usedSize + filesize;
                    // backupSetTable.getValueAt(selectRow,2);
                    //  totalFilesCount = totalFilesCount + updateTotalFile;
                    displayValues(totalFilesCount, usedSize, quota);

                }
            }
        }
    }
//    public static void main(String args[]) {
//        java.awt.EventQueue.invokeLater(new Runnable() {
//
//            public void run() {
//                Config_3_backup dialog = null;
//                try {
//                    dialog = new Config_3_backup(new javax.swing.JFrame(), true);
//                } catch (Exception ex) {
//                    Logger.getLogger(Config_3_backup.class.getName()).log(Level.SEVERE, null, ex);
//                }
//
//                dialog.addWindowListener(new java.awt.event.WindowAdapter() {
//
//                    public void windowClosing(java.awt.event.WindowEvent e) {
//
//                        System.exit(0);
//                    }
//                });
//                dialog.setVisible(true);
//            }
//        });
//    }
    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JButton backSetButton;
    private javax.swing.JScrollPane backupSetPanel;
    private javax.swing.JTable backupSetTable;
    private javax.swing.JButton cancelSetButton;
    private javax.swing.JLabel filesLabel;
    private javax.swing.JButton increaseQuotaBt;
    private javax.swing.JLabel jLabel8;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JLabel label_logo;
    private javax.swing.JLabel label_quota;
    private javax.swing.JLabel label_remaining;
    private javax.swing.JLabel label_scan;
    private javax.swing.JLabel label_used;
    private javax.swing.JButton nextSetButton;
    private javax.swing.JLabel percentLabel;
    private javax.swing.JLabel percentQuota;
    private javax.swing.JLabel quotaLabel;
    private javax.swing.JProgressBar quotaUsedProgressBar;
    private javax.swing.JLabel remainngLabel;
    private javax.swing.JLabel totalFiles;
    private javax.swing.JLabel usedLabel;
    // End of variables declaration//GEN-END:variables
}
